
minimal          = executable(         'minimal',          'minimal.c', dependencies: [gdk_pixbuf, openjpeg])
basic            = executable(           'basic',            'basic.c', dependencies: [gdk_pixbuf, openjpeg])
relax            = executable(           'relax',            'relax.c', dependencies: [gdk_pixbuf, openjpeg])
codestream       = executable(      'codestream',       'codestream.c', dependencies: [gdk_pixbuf, openjpeg])
codestream_mono  = executable( 'codestream_mono',  'codestream_mono.c', dependencies: [gdk_pixbuf, openjpeg])
codestream_color = executable('codestream_color', 'codestream_color.c', dependencies: [gdk_pixbuf, openjpeg])
advanced         = executable(        'advanced',         'advanced.c', dependencies: [gdk_pixbuf, openjpeg])
complex          = executable(         'complex',          'complex.c', dependencies: [gdk_pixbuf, openjpeg])
normal           = executable(          'normal',           'normal.c', dependencies: [gdk_pixbuf, openjpeg])
large            = executable(           'large',            'large.c', dependencies: [gdk_pixbuf, openjpeg])
cmyk             = executable(            'cmyk',             'cmyk.c', dependencies: [gdk_pixbuf, openjpeg])
save             = executable(            'save',             'save.c', dependencies: [gdk_pixbuf, openjpeg])

loaders_data = configuration_data()
loaders_data.set('MODULE_PATH', pixbuf_loader_openjpeg.full_path())
loaders = configure_file(
    input: 'loaders.cache.in',
    output: 'loaders.cache',
    configuration: loaders_data,
)

env = 'GDK_PIXBUF_MODULE_FILE=' + meson.current_build_dir() / 'loaders.cache'
dir = 'TEST_FILE=' + meson.current_source_dir() / 'images'

test(         'minimal',          minimal, env: [ env, dir / 'minimal.jp2' ])
test(           'basic',            basic, env: [ env, dir / 'basic.jp2'])
test(           'relax',            relax, env: [ env, dir / 'relax.jp2'])
test(      'codestream',       codestream, env: [ env, dir / 'codestream.j2k'])
test( 'codestream_mono',  codestream_mono, env: [ env, dir / 'codestream_mono.j2c'])
test('codestream_color', codestream_color, env: [ env, dir / 'codestream_color.j2c'])
test(        'advanced',         advanced, env: [ env, dir / 'advanced.jp2'])
test(         'complex',          complex, env: [ env, dir / 'complex.jp2'])
test(          'normal',           normal, env: [ env, dir / 'normal.jp2'])
test(           'large',            large, env: [ env, dir / 'large.jpf'])
test(            'cmyk',             cmyk, env: [ env, dir / 'cmyk.jp2'])
test(            'save',             save, env: [ env, dir / 'normal.jp2'])
